<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <script>
  //Book
  //1.方法一：定义很多变量
  //var bookName="算法的力量"
  //var desc ="人类如何共同生存"
  //var oldPrice=98
  //var newPrice=73.5

  //2.方法二：复杂类型Object
  var book={
    name:"算法的力量",
    desc:"人类额如何生存",
  }
  console.log(book)
  //Object类型的基本使用
  var person={
    name:"why",
    age:18,

  }
  console.log(person)
  //2.拿到对象中的一个属性
  console.log(person.name)
  //console.log(message.length)//不是对象，却能通过对象.属性拿到属性值，是因为包装成一个对象String（原始类型的包装类）类型的对象
  //3.Null类型
  var age=0
  var num=0
  var message=""//空字符串
  //当对一个对象类型进行初始化，不建议初始化为{}，建议初始化为null
  //因为初始化为对象，会在堆内存创建一个对象，如果赋值为0，会指向一个0x0的位置，不会在对堆中开辟空间
  var isAsmin=false
  var book={
    
  }
  //null的存在意义就是对对象进行初始化的

  var pen=null
  if(pen){
    console.log("pen的逻辑代码分析")
  }
  console.log(typeof pen)
  //age/message/isAsmin->false
  if(age){
console.log(age)
  }
  if(book){
    console.log("book的逻辑代码分析")
  }
  </script>
</body>
</html>